#!/bin/bash

# 书海拾贝启动脚本

JAR_NAME="book-ocean-1.0.0.jar"
APP_DIR="/home/bookocean/app"
LOG_DIR="/home/bookocean/logs"
PID_FILE="/home/bookocean/app.pid"

# 颜色输出
GREEN='\033[0;32m'
RED='\033[0;31m'
YELLOW='\033[1;33m'
NC='\033[0m'

echo -e "${GREEN}🚀 启动书海拾贝应用...${NC}"

# 检查是否已经在运行
if [ -f "$PID_FILE" ]; then
    PID=$(cat "$PID_FILE")
    if ps -p $PID > /dev/null 2>&1; then
        echo -e "${YELLOW}应用已经在运行中 (PID: $PID)${NC}"
        exit 0
    else
        rm -f "$PID_FILE"
    fi
fi

# 检查JAR文件
if [ ! -f "$APP_DIR/$JAR_NAME" ]; then
    echo -e "${RED}❌ JAR文件不存在: $APP_DIR/$JAR_NAME${NC}"
    exit 1
fi

# 创建日志目录
mkdir -p "$LOG_DIR"

# 启动应用
echo "启动Java应用..."
nohup java -jar \
    -Xmx512m -Xms256m \
    -Dspring.profiles.active=prod \
    -Dserver.port=8082 \
    "$APP_DIR/$JAR_NAME" \
    > "$LOG_DIR/app.log" 2>&1 &

PID=$!
echo $PID > "$PID_FILE"

echo -e "${GREEN}✅ 应用启动成功！${NC}"
echo "PID: $PID"
echo "端口: 8082"
echo "日志: $LOG_DIR/app.log"
echo "访问地址: https://bookocean.space/bookOcean/"

# 等待几秒检查启动状态
sleep 3
if ps -p $PID > /dev/null 2>&1; then
    echo -e "${GREEN}✅ 应用运行正常${NC}"
else
    echo -e "${RED}❌ 应用启动失败，请检查日志${NC}"
    rm -f "$PID_FILE"
    exit 1
fi
